#include #include #include using namespace std; void main() { string fileName; getline(cin,fileName); ifstream fin(fileName,ios::binary); unsigned int w; unsigned int h; fin.seekg(18); fin.read((char*)&w,4); fin.read((char*)&h,4); fin.seekg(54,ios::beg); unsigned char b; unsigned char g; unsigned char r; int bytesRead = 0; while(!fin.eof()) { fin.read((char*)&b,1); fin.read((char*)&g,1); fin.read((char*)&r,1); bytesRead += 3; cout << (int) b << " " << (int) g << " " << (int) r << endl; if(bytesRead == w *3) { //reached end of row //read garbage bytes int garbageBytes = (4 - (bytesRead%4)); if(garbageBytes > 0 && garbageBytes < 4) { //char garbage[3]; //fin.read(garbage, garbageBytes); fin.seekg(garbageBytes,ios::cur); bytesRead = 0; } } } fin.close(); }